/*
 *  Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 *  This source code is licensed under the MIT license found in the LICENSE
 *  file in the root directory of this source tree.
 *
 */

/*
 *  THIS FILE IS AUTOGENERATED. DO NOT MODIFY IT; ALL CHANGES WILL BE LOST IN
 *  VAIN.
 *
 *  @generated
 */
include "mcrouter/lib/carbon/carbon.thrift"
include "mcrouter/lib/carbon/carbon_result.thrift"


cpp_include "<mcrouter/lib/carbon/CarbonProtocolReader.h>"

namespace cpp2 carbon.test.thrift2

enum SimpleEnum {
  Twenty = 20,
  Zero = 0,
  One = 1,
  Negative = -92233
} (cpp.enum_type="int32_t")

struct TestCompactRequest {
  1: carbon.StringKey key
  2: SimpleEnum testEnum
  3: bool testBool
  4: byte (cpp.type = "char") testChar
  5: byte testInt8
  6: i16 testInt16
  7: i32 testInt32
  8: i64 testInt64
  9: byte (cpp.type = "uint8_t") testUInt8
  10: i16 (cpp.type = "uint16_t") testUInt16
  11: i32 (cpp.type = "uint32_t") testUInt32
  12: i64 (cpp.type = "uint64_t") testUInt64
  13: string testShortString
  14: string testLongString
  15: binary (cpp.type = "folly::IOBuf") testIobuf
  16: list<string> testList
}(cpp.methods = "
  template <class V>
  void visitFields(V&& v);
  template <class V>
  void visitFields(V&& v) const;

  template <class Writer>
  void serialize(Writer&& writer) const;

  void deserialize(carbon::CarbonProtocolReader& reader);

",
cpp.virtual
)
struct TestCompactReply {
  1: carbon_result.Result result
  2: i32 valInt32
  3: i64 valInt64
}(cpp.methods = "
  template <class V>
  void visitFields(V&& v);
  template <class V>
  void visitFields(V&& v) const;

  template <class Writer>
  void serialize(Writer&& writer) const;

  void deserialize(carbon::CarbonProtocolReader& reader);

",
cpp.virtual
)
